HhLl-OscilatorSimple oscillator which checks how many highs and how many lows the price is making. Parameters are as explained below:
lookback - Checks how many highs and lows it is making in these many bars. Sum of all highs and lows are taken for plotting.
periods - Initial period to check high and lows
multiples - Number of multiples on initial period for which highs and lows are checked
colorCandles - CandleColor based on the oscillator
If periods is 20 and multiples is 5 and loopback is 10
Indicator checks for last 10 bars how many highs/lows are made for 20, 40, 60, 80 and 100 periods. Sum of all highs and lows are plotted on the oscillator overlay
스크립트에서 "high low"에 대해 찾기
Expanded Floor PivotsHello Everyone,
The Expanded Floor Pivots is introduced in the book "Secrets of a Pivot Boss: Revealing Proven Methods for Profiting in the Market " by Franklin Ochoa. He added four new levels: S4, R4, BC and TC. There are many great ideas in the book, such using these levels, following trend, time price opportunity and much more. (Thanks to @tonyjab for pushing me to read this book)
The definition/formula of the levels defined in the book:
r1 = 2 * pivot - Low
r2 = pivot + (High - Low)
r3 = r1 + (High - Low)
r4 = r3 + (r2 - r1)
tc = (pivot - bc) + pivot
pivot = (High + Low + Close) / 3
bc = (High + Low) / 2
s1 = 2 * pivot - High
s2 = pivot - (High - Low)
s3 = s1 - (High - Low)
s4 = s3 - (s1 - s2)
The area between TC and BC is used as Pivot Channel, (blue area in the chart). you can see how it helps on identifying the trend.
Options:
By default the script decides Higher Time Frame but if you want you can set HTF as you wish.
You can choose line style as: Solid, Circles or Cross
and also you have option to show only last period or all historical levels.
Enjoy!
Volume Profile Free Ultra SLI (100 Levels Value Area VWAP) - RRBVolume Profile Free Ultra SLI by RagingRocketBull 2019
Version 1.0
This indicator calculates Volume Profile for a given range and shows it as a histogram consisting of 100 horizontal bars.
This is basically the MAX SLI version with +50 more Pinescript v4 line objects added as levels.
It can also show Point of Control (POC), Developing POC, Value Area/VWAP StdDev High/Low as dynamically moving levels.
Free accounts can't access Standard TradingView Volume Profile, hence this indicator.
There are several versions: Free Pro, Free MAX SLI, Free Ultra SLI, Free History. This is the Free Ultra SLI version. The Differences are listed below:
- Free Pro: 25 levels, +Developing POC, Value Area/VWAP High/Low Levels, Above/Below Area Dimming
- Free MAX SLI: 50 levels, 2x SLI modes for Buy/Sell or even higher res 150 levels
- Free Ultra SLI: 100 levels, packed to the limit, 2x SLI modes for Buy/Sell or even higher res 300 levels
- Free History: auto highest/lowest, historic poc/va levels for each session
Features:
- High-Res Volume Profile with up to 100 levels (line implementation)
- 2x SLI modes for even higher res: 300 levels with 3x vertical SLI, 100 buy/sell levels with 2x horiz SLI
- Calculate Volume Profile on full history
- POC, Developing POC Levels
- Buy/Sell/Total volume modes
- Side Cover
- Value Area, VAH/VAL dynamic levels
- VWAP High/Low dynamic levels with Source, Length, StdDev as params
- Show/Hide all levels
- Dim Non Value Area Zones
- Custom Range with Highlighting
- 3 Anchor points for Volume Profile
- Flip Levels Horizontally
- Adjustable width, offset and spacing of levels
- Custom Color for POC/VA/VWAP levels, Transparency for buy/sell levels
WARNING:
- Compilation Time: 1 min 20 sec
Usage:
- specify max_level/min_level/spacing (required)
- select range (start_bar, range length), confirm with range highlighting
- select volume type: Buy/Sell/Total
- select mode Value Area/VWAP to show corresponding levels
- flip/select anchor point to position the buy/sell levels
- use Horiz Buy/Sell SLI mode with 100 or Vertical SLI with 300 levels if needed
- use POC/Developing POC/VA/VWAP High/Low as S/R levels. Usually daily values from 1-3 days back are used as levels for the current day.
SLI:
use SLI modes to extend the functionality of the indicator:
- Horiz Buy/Sell 2x SLI lets you view 100 Buy/Sell Levels at the same time
- Vertical Max_Vol 3x SLI lets you increase the resolution to 300 levels
- you need at least 2 instances of the indicator attached to the same chart for SLI to work
1) Enable Horiz SLI:
- attach 2 indicator instances to the chart
- make sure all instances have the same min_level/max_level/range/spacing settings
- select volume type for each instance: you can have a buy/sell or buy/total or sell/total SLI. Make sure your buy volume instance is the last attached to be displayed on top of sell/total instances without overlapping.
- set buy_sell_sli_mode to true for indicator instances with volume_type = buy/sell, for type total this is optional.
- this basically tells the script to calculate % lengths based on total volume instead of individual buy/sell volumes and use ext offset for sell levels
- Sell Offset is calculated relative to Buy Offset to stack/extend sell after buy. Buy Offset = Zero - Buy Length. Sell Offset = Buy Offset - Sell Length = Zero - Buy Length - Sell Length
- there are no master/slave instances in this mode, all indicators are equal, poc/va levels are not affected and can work independently, i.e. one instance can show va levels, another - vwap.
2) Enable Vertical SLI:
- attach the first instance and evaluate the full range to roughly determine where is the highest max_vol/poc level i.e. 0..20000, poc is in the bottom half (third, middle etc) or
- add more instances and split the full vertical range between them, i.e. set min_level/max_level of each corresponding instance to 0..10000, 10000..20000 etc
- make sure all instances have the same range/spacing settings
- an instance with a subrange containing the poc level of the full range is now your master instance (bottom half). All other instances are slaves, their levels will be calculated based on the max_vol/poc of the master instance instead of local values
- set show_max_vol_sli to true for the master instance. for slave instances this is optional and can be used to check if master/slave max_vol values match and slave can read the master's value. This simply plots the max_vol value
- you can also attach all instances and set show_max_vol_sli to true in all of them - the instance with the largest max_vol should become the master
Auto/Manual Ext Max_Vol Modes:
- for auto vertical max_vol SLI mode set max_vol_sli_src in all slave instances to the max_vol of the master indicator: "VolumeProfileFree_MAX_RRB: Max Volume for Vertical SLI Mode". It can be tricky with 2+ instances
- in case auto SLI mode doesn't work - assign max_vol_sli_ext in all slave instances the max_vol value of the master indicator manually and repeat on each change
- manual override max_vol_sli_ext has higher priority than auto max_vol_sli_src when both values are assigned, when they are 0 and close respectively - SLI is disabled
- master/slave max_vol values must match on each bar at all times to maintain proper level scale, otherwise slave's levels will look larger than they should relative to the master's levels.
- Max_vol (red) is the last param in the long list of indicator outputs
- the only true max_vol/poc in this SLI mode is the master's max_vol/poc. All poc/va levels in slaves will be irrelevant and are disabled automatically. Slaves can only show VWAP levels.
- VA Levels of the master instance in this SLI mode are calculated based on the subrange, not the whole range and may be inaccurate. Cross check with the full range.
WARNING!
- auto mode max_vol_sli_src is experimental and may not work as expected
- you can only assign auto mode max_vol_sli_src = max_vol once due to some bug with unhandled exception/buffer overflow in Tradingview. Seems that you can clear the value only by removing the indicator instance
- sometimes you may see a "study in error state" error when attempting to set it back to close. Remove indicator/Reload chart and start from scratch
- volume profile may not finish to redraw and freeze in an ugly shape after an UI parameter change when max_vol_sli_src is assigned a max_vol value. Assign it to close - VP should redraw properly, but it may not clear the assigned max_vol value
- you can't seem to be able to assign a proper auto max_vol value to the 3rd slave instance
- 2x Vertical SLI works and tested in both auto/manual, 3x SLI - only manual seems to work (you can have a mixed mode: 2nd instance - auto, 3rd - manual)
Notes:
- This code uses Pinescript v3 compatibility framework
- This code is 20x-30x faster (main for cycle is removed) especially on lower tfs with long history - only 4-5 sec load/redraw time vs 30-60 sec of the old Pro versions
- Instead of repeatedly calculating the total sum of volumes for the whole range on each bar, vol sums are now increased on each bar and passed to the next in the range making it a per range vs per bar calculation that reduces time dramatically
- 100 levels consist of 50 main plot levels and 50 line objects used as alternate levels, differences are:
- line objects are always shown on top of other objects, such as plot levels, zero line and side cover, it's not possible to cover/move them below.
- all line objects have variable lengths, use actual x,y coords and don't need side cover, while all plot levels have a fixed length of 100 bars, use offset and require cover.
- all key properties of line objects, such as x,y coords, color can be modified, objects can be moved/deleted, while this is not possible for static plot levels.
- large width values cause line objects to expand only up/down from center while their length remains the same and stays within the level's start/end points similar to an area style.
- large width values make plot levels expand in all directions (both h/v), beyond level start/end points, sometimes overlapping zero line, making them an inaccurate % length representation, as opposed to line objects/plot levels with area style.
- large width values translate into different widths on screen for line objects and plot levels.
- you can't compensate for this unwanted horiz width expansion of plot levels because width uses its own units, that don't translate into bars/pixels.
- line objects are visible only when num_levels > 50, plot levels are used otherwise
- Since line objects are lines, plot levels also use style line because other style implementations will break the symmetry/spacing between levels.
- if you don't see a volume profile check range settings: min_level/max_level and spacing, set spacing to 0 (or adjust accordingly based on the symbol's precision, i.e. 0.00001)
- you can view either of Buy/Sell/Total volumes, but you can't display Buy/Sell levels at the same time using a single instance (this would 2x reduce the number of levels). Use 2 indicator instances in horiz buy/sell sli mode for that.
- Volume Profile/Value Area are calculated for a given range and updated on each bar. Each level has a fixed length. Offsets control visible level parts. Side Cover hides the invisible parts.
- Custom Color for POC/VA/VWAP levels - UI Style color/transparency can only change shape's color and doesn't affect textcolor, hence this additional option
- Custom Width - UI Style supports only width <= 4, hence this additional option
- POC is visible in both modes. In VWAP mode Developing POC becomes VWAP, VA High and Low => VWAP High and Low correspondingly to minimize the number of plot outputs
- You can't change buy/sell level colors from input (only transparency) - this requires 2x plot outputs => 2x reduces the number of levels to fit the max 64 limit. That's why 2 additional plots are used to dim the non Value Area zones
- You can change level transparency of line objects. Due to Pinescript limitations, only discrete values are supported.
- Inverse transp correlation creates the necessary illusion of "covered" line objects, although they are shown on top of the cover all the time
- If custom lines_transp is set the illusion will break because transp range can't be skewed easily (i.e. transp 0..100 is always mapped to 100..0 and can't be mapped to 50..0)
- transparency can applied to lines dynamically but nva top zone can't be completely removed because plot/mixed type of levels are still used when num_levels < 50 and require cover
- transparency can't be applied to plot levels dynamically from script this can be done only once from UI, and you can't change plot color for the past length bars
- All buy/sell volume lengths are calculated as % of a fixed base width = 100 bars (100%). You can't set show_last from input to change it
- Range selection/Anchoring is not accurate on charts with time gaps since you can only anchor from a point in the future and measure distance in time periods, not actual bars, and there's no way of knowing the number of future gaps in advance.
- Adjust Width for Log Scale mode now also works on high precision charts with small prices (i.e. 0.00001)
- in Adjust Width for Log Scale mode Level1 width extremes can be capped using max deviation (when level1 = 0, shift = 0 width becomes infinite)
- There's no such thing as buy/sell volume, there's just volume, but for the purposes of the Volume Profile method, assume: bull candle = buy volume, bear candle = sell volume
P.S. I am your grandfather, Luke! Now, join the Dark Side in your father's steps or be destroyed! Once more the Sith will rule the Galaxy, and we shall have peace...
PivotBoss Outside Reversal SetupPATTERN SUMMARY
1. The engulfing bar of a bullish outside reversal setup has a low that is below the prior bar's low (L < L ) and a
close that is above the prior bar's high (C > H ).
2. The engulfing bar of a bearish outside reversal setup has a high that is above the prior bar's high (H > H )
and a close that is below the prior bar's low (C < L ).
3. The engulfing bar is usually 5 to 25 percent larger than the size of the average bar in the lookback period.
PATTERN PSYCHOLOGY
The power behind this pattern lies in the psychology behind the traders involved in this setup. If you have
ever participated in a breakout at support or resistance only to have the market reverse sharply against you, then
you are familiar with the market dynamics of this setup. What exactly is going on at these levels? To understand
this concept is to understand the outside reversal pattern. Basically, market participants are testing the waters
above resistance or below support to make sure there is no new business to be done at these levels. When no
initiative buyers or sellers participate in range extension, responsive participants have all the information they
need to reverse price back toward a new area of perceived value.
As you look at a bullish outside reversal pattern, you will notice that the current bar's low is lower than the
prior bar's low. Essentially, the market is testing the waters below recently established lows to see if a downside
follow-through will occur. When no additional selling pressure enters the market, the result is a flood of buying
pressure that causes a springboard effect, thereby shooting price above the prior bar's highs and creating the
beginning of a bullish advance.
If you recall the child on the trampoline for a moment, you'll realize that the child had to force the bounce
mat down before he could spring into the air. Also, remember Jennifer the cake baker? She initially pushed price
to $20 per cake, which sent a flood of orders into her shop. The flood of buying pressure eventually sent the price
of her cakes to $35 apiece. Basically, price had to test the $20 level before it could rise to $35.
Let's analyze the outside reversal setup in a different light for a moment. One of the reasons I like this setup
is because the two-bar pattern reduces into the wick reversal setup, which we covered earlier in the chapter. If
you are not familiar with candlestick reduction, the idea is simple. You are taking the price data over two or more
candlesticks and combining them to create a single candlestick. Therefore, you will be taking the open, high, low,
and close prices of the bars in question to create a single composite candlestick.
Take a look at Figure 2.13, which illustrates the candlestick reduction of the outside reversal setup.
Essentially, taking the highest high and the lowest low over the two-bar period gives you the range of the
composite candlestick. Then, taking the opening price of the first candle and the closing price of the last candle
will finish off the composite candlestick. Depending on the structure of the bars of the outside reversal setup, the
result of the candlestick reduction will usually be the transformation into a wick reversal setup, which we know to
be quite powerful. Therefore, in many cases the physiology of the outside reversal pattern basically demonstrates
the inherent psychological traits of the wick reversal pattern. This is just another level of analysis that reinforces
my belief in the outside reversal setup.
Fractal Model [Free+] (T-Trades)Fractal Model - Higher Timeframe Analysis Tool
Advanced higher timeframe candle visualization with T-spot identification, sweep detection, and multi-timeframe price action analysis.
Introduction:
The Fractal Model is a Pine Script indicator that provides advanced higher timeframe (HTF) candle visualization and analysis. It identifies key price action patterns including T-spots, sweep signals, and imbalance zones to help traders understand market structure across multiple timeframes.
Description:
The Fractal Model analyzes price action by creating higher timeframe candles on your current chart, allowing you to see HTF structure without switching timeframes. It identifies specific price action patterns that often precede significant moves, including T-spot formations, sweep confirmations, and fair value gaps.
The indicator uses logarithmic midpoint calculations and pivot detection algorithms to identify high-probability entry and exit points. It automatically detects appropriate higher timeframes based on your current chart timeframe and provides real-time analysis of price action patterns.
Key Features:
Higher Timeframe Candle Visualization: Automatically creates higher timeframe candles on your current chart, allowing you to see HTF structure without switching timeframes. Supports up to 6 different HTF levels with automatic timeframe detection.
T-Spot Identification: Identifies T-spot formations using logarithmic midpoint calculations. T-spots mark areas where price is likely to form wicks based on specific price action patterns including sweep conditions and close position analysis.
Sweep Detection: Detects when price sweeps previous highs or lows but closes on the opposite side, creating potential reversal zones. Includes both high sweeps and low sweeps with visual confirmation lines.
Fair Value Gap (FVG) Detection: Identifies gaps between candle ranges where price didn't trade, creating potential support/resistance zones. Uses three-candle pattern analysis to detect imbalance areas.
Volume Imbalance Detection: Identifies areas where price action shows volume imbalance between consecutive candles, indicating potential continuation or reversal zones.
T-Spot Sweep Confirmation: Advanced confirmation system that requires pivot formation before T-spot touch, then close beyond the pivot level to confirm sweep signals.
TTFM Labeling System: Dynamic labeling system that tracks setup validity with C2, C3, and C4 labels indicating different types of T-spot formations and their confirmation status.
How the Code Works:
1. Higher Timeframe Detection:
The indicator automatically determines appropriate HTF based on your current chart:
- 1m charts: 15m HTF
- 3m charts: 30m HTF
- 5m charts: 1h HTF
- 15m charts: 4h HTF
- 30m-1h charts: 1D HTF
- 4h-8h charts: 1W HTF
- 1D charts: 1M HTF
2. T-Spot Calculation Algorithm:
T-spots are identified using logarithmic midpoint calculations combined with pivot-based logic:
- Calculates log midpoint = exp((log(high) + log(low)) / 2) for wick analysis
- Identifies sweep conditions: high > prev_high AND close < prev_high (bearish) or low < prev_low AND close > prev_low (bullish)
- Creates T-spot zones based on close position relative to logarithmic midpoint
- **Core Logic**: All T-spot formations are based on pivot creation patterns where price sweeps previous levels but closes on the opposite side, creating potential reversal zones
3. Sweep Detection Logic:
The code detects sweeps using pivot analysis:
- Uses ta.pivothigh() and ta.pivotlow() with 1,2 parameters for pivot detection
- Confirms sweeps when: pivot forms before T-spot touch AND close breaks beyond pivot level
- Tracks pivot levels and bars for confirmation validation
- **Pivot-Based Foundation**: The entire system is built on pivot creation logic - T-spots form when price creates pivots by sweeping previous levels but closing opposite, indicating potential reversal points
4. Fair Value Gap Detection:
FVG identification uses three-candle pattern analysis:
- Candle1.l > Candle2.h AND min(Candle1.o, Candle1.c) > max(Candle2.o, Candle2.c) for bullish FVG
- Candle1.h < Candle2.l AND max(Candle1.o, Candle1.c) < min(Candle2.o, Candle2.c) for bearish FVG
5. Visual Rendering System:
Uses array-based object management:
- Clears and redraws all visual elements on each bar
- Manages HTF candles, T-spots, sweeps, and labels using separate arrays
- Implements cleanup logic to prevent memory overflow
6. Pivot-Based T-Spot Types:
The indicator identifies several T-spot patterns based on pivot creation:
- **Standard T-Spots**: Price sweeps previous high/low but closes opposite, creating pivot
- **Expansive T-Spots**: Previous candle sweeps, current candle expands and closes beyond sweep level
- **Pro-trend T-Spots**: Price sweeps logarithmic midpoint but closes beyond previous levels
- **Silver T-Spots**: Special T-spots during specific market hours (4th-5th candle of day)
- All patterns require pivot formation through sweep-and-close logic for validation
Usage Guidance:
Add the Fractal Model indicator to your TradingView chart
Configure HTF settings and T-spot bias preferences
Adjust visual customization options to match your trading style
Monitor T-spot formations and sweep confirmations for entry signals
Trading Applications:
T-Spot Trading:
- Look for T-spot formations on higher timeframes
- Wait for price to touch T-spot levels
- Enter on sweep confirmation with proper pivot validation
- Use T-spot levels as support/resistance zones
Sweep Trading:
- Identify sweep patterns where price breaks previous highs/lows but closes opposite
- Use sweep levels as potential reversal zones
- Combine with T-spot analysis for higher probability setups
Fair Value Gap Trading:
- Trade FVG fills as price returns to imbalance areas
- Use FVG levels as support/resistance zones
- Combine with higher timeframe structure for context
Technical Specifications:
- Compatible with Pine Script v6
- Non-repainting indicator
- Supports all timeframes with automatic HTF detection
- Memory-efficient array management
- Real-time T-spot and sweep detection
- Customizable visual elements and colors
Disclaimer:
This indicator is for educational and informational purposes only. Past performance does not guarantee future results. Always conduct your own research and risk management before making trading decisions.
Tristan's Box: Pre-Market Range Breakout + RetestMarket Context:
This is designed for U.S. stocks, focusing on pre-market price action (4:00–9:30 AM ET) to identify key support/resistance levels before the regular session opens.
Built for 1 min and 5 min timelines, and is intended for day trading / scalping.
Core Idea:
Pre-market range (high/low) often acts as a magnet for price during regular hours.
The first breakout outside this range signals potential strong momentum in that direction.
Retest of the breakout level confirms whether the breakout is valid, avoiding false moves.
Step-by-Step Logic:
Pre-Market Range Identification:
Track high and low from 4:00–9:30 AM ET.
Draw a box spanning this range for visual reference and calculation.
Breakout Detection:
When the first candle closes above the pre-market high → long breakout.
When the first candle closes below the pre-market low → short breakout.
The first breakout candle is highlighted with a “YOLO” label for visual confirmation.
Retest Confirmation:
Identify the first candle whose wick touches the pre-market box (high touches top for short, low touches bottom for long).
Wait for the next candle: if it closes outside the box, it confirms the breakout.
Entry Execution:
Long entry: on the confirming candle after a wick-touch above the pre-market high.
Short entry: on the confirming candle after a wick-touch below the pre-market low.
Only the first valid entry per direction per day is taken.
Visuals & Alerts:
Box represents pre-market high/low.
Top/bottom box border lines show the pre-market high / low levels cleanly.
BUY/SELL markers are pinned to the confirming candle.
Added a "YOLO" marker on breakout candle.
Alert conditions trigger when a breakout is confirmed by the retest.
Strategy Type:
Momentum breakout strategy with confirmation retest.
Combines pre-market structure and risk-managed entries.
Designed to filter false breakouts by requiring confirmation on the candle after the wick-touch.
In short, it’s a pre-market breakout momentum strategy: it uses the pre-market high/low as reference, waits for a breakout, and then enters only after a confirmation retest, reducing the chance of entering on a false spike.
Always use good risk management.
RSI Pivots with Divergence Overlay█ OVERVIEW
The RSI Pivots with Divergence Overlay indicator is an advanced tool based on RSI, displaying dynamic bands on the price chart to simplify the identification of overbought and oversold conditions. Pivot points and divergences between them are derived from these bands, providing a comprehensive view of the market and enabling the creation of various trading strategies based on this single indicator.
█ CONCEPTS
Areas where RSI exits the bands are often reversal points in the market. The concept of this indicator is to highlight places where the probability of a trend reversal increases. Therefore, pivots and divergences have been added to better identify these key moments. Additionally, the bands allow viewing the market context in relation to the RSI indicator, facilitating analysis of momentum and volatility.
█ KEY FEATURES
Dynamic Bands and RSI Signals: The bands are calculated based on the closing price and RSI value, with dynamic scaling adjusted to market volatility. The upper band corresponds to overbought levels, the lower to oversold, and the midline is their average. The price level relative to the bands serves as a visual RSI signal, indicating potential overbought or oversold conditions.
Pivot Points: The indicator identifies local price highs and lows in relation to RSI levels. The pivot level is taken from the high/low of the candle. A high pivot is detected when the high of the candle reaches a local maximum after crossing the upper RSI level (overbought), signaling a potential reversal. A low pivot appears after a local price minimum following a drop below the lower RSI level (oversold), indicating a possible uptrend reversal. The pivot length (default 2 bars) defines the search range for these extremes, meaning that with a length of 2, a potential divergence signal will appear with a 2-candle delay, as this is the minimum time required to confirm a local pivot. Pivot lines are drawn on the chart, and labels display the RSI value (from the close of the candle) and price at the detection moment. Pivot lines disappear after the detection of the next low pivot for lower lines and high pivot for upper lines, but unbreached lines or those with high volume may still serve as support or resistance levels.
Divergence Detection: The indicator automatically detects divergences to predict trend changes. Bearish divergence occurs when the price forms a higher high pivot, but the RSI (from the close of the candle) is lower than in the previous pivot, indicating weakening upward momentum and a potential bearish reversal. Bullish divergence appears when the price forms a lower low pivot, but the RSI is higher, suggesting building momentum and a possible bullish reversal. Divergences are marked in pivot labels (e.g., "Bear Div" or "Bull Div") and supported by alerts upon detection.
Return Signals: The indicator generates buy and sell signals based on RSI (price) returning to the bands after extreme conditions, independently of pivots and divergences. A buy signal is triggered when RSI (price) crosses above the lower level (exiting oversold), suggesting a potential price rise toward the midline or upper band. A sell signal occurs when RSI (price) falls below the upper level (exiting overbought), indicating a possible price drop toward the lower band. Signals are visualized as arrows (up/down triangles) on the chart, with customizable colors.
█ CONFIGURATION
The indicator offers extensive customization options:
RSI Length (rsiLength): Sets the number of periods used to calculate RSI (default 14).
RSI Upper Level (rsiUpper): Defines the overbought threshold (default 70).
RSI Lower Level (rsiLower): Defines the oversold threshold (default 30).
Band Scaling (scale): Determines the scaling multiplier for bands based on market volatility (default 15.0).
SMA Length for Candle Midpoint (length): Number of periods for calculating the moving average of candle midpoints (default 200). This parameter is used to smooth price data, enabling more accurate volatility assessment and band width adjustment to market dynamics.
Pivot Length (pivotLength): Sets the range (in bars) for detecting local price extremes (default 2).
Pivot Label Offset (pivotLabelOffset): Multiplier for the candle range to position pivot labels (default 0.3).
Show Bands (showBands): Enables/disables the display of bands on the chart.
Show Fill (showFill): Enables/disables the fill between bands and the midline.
Show Pivot Lines (showPivotLines): Enables/disables pivot lines on the chart.
Show Pivot Labels (showPivotLabels): Enables/disables labels with RSI and price values at pivots.
Show Return Signals (showReturnSignals): Enables/disables the display of buy and sell signals.
Colors and Style: Customizable colors for bands, fills, pivot lines, labels, and line widths (default 1).
█ USAGE
The indicator performs best when combined with other technical analysis tools, such as Fibonacci levels, moving averages, or trendlines, to confirm pivot, divergence, and return signals. It enables traders to identify key reversal points, detect hidden trend weaknesses through divergences, and confirm trade entries with return signals.
Usage Examples:
Price bounces off a previous pivot with high volume – this increases the probability of a trend change or correction.
A similar situation when RSI is outside the bands strengthens the signal.
If divergence occurs in addition, we have further confirmation.
This can be combined with Fibonacci levels to check if Fibo zones overlap with pivot lines – this may increase the chance of a strong price reaction.
█ ALERTS
The indicator supports alerts for:
Buy and sell signals (RSI returning to bands).
Detection of bearish and bullish divergences.
Volumatic Fair Value Gaps [BigBeluga]🔵 OVERVIEW
The Volumatic Fair Value Gaps indicator detects and plots size-filtered Fair Value Gaps (FVGs) and immediately analyzes the bullish vs. bearish volume composition inside each gap. When an FVG forms, the tool samples volume from a 10× lower timeframe , splits it into Buy and Sell components, and overlays two compact bars whose percentages always sum to 100%. Each gap also shows its total traded volume . A live dashboard (top-right) summarizes how many bullish and bearish FVGs are currently active and their cumulative volumes—offering a quick read on directional participation and trend pressure.
🔵 CONCEPTS
FVGs (Fair Value Gaps) : Imbalance zones between three consecutive candles where price “skips” trading. The script plots bullish and bearish gaps and extends them until mitigated.
Size Filtering : Only significant gaps (by relative size percentile) are drawn, reducing noise and emphasizing meaningful imbalances.
// Gap Filters
float diff = close > open ? (low - high ) / low * 100 : (low - high) / high *100
float sizeFVG = diff / ta.percentile_nearest_rank(diff, 1000, 100) * 100
bool filterFVG = sizeFVG > 15
Volume Decomposition : For each FVG, the indicator inspects a 10× lower timeframe and aggregates volume of bullish vs. bearish candles inside the gap’s span.
100% Split Bars : Two inline bars per FVG display the % Bull and % Bear shares; their total is always 100%.
Total Gap Volume : A numeric label at the right edge of the FVG shows the total traded volume associated with that gap.
Mitigation Logic : Gaps are removed when price closes through (or touches via high/low—user-selectable) the opposite boundary.
Dashboard Summary : Counts and sums the active bullish/bearish FVGs and their total volumes to gauge directional dominance.
🔵 FEATURES
Bullish & Bearish FVG plotting with independent color controls and visibility toggles.
Adaptive size filter (percentile-based) to keep only impactful gaps.
Lower-TF volume sampling at 10× faster resolution for more granular Buy/Sell breakdown.
Per-FVG volume bars : two horizontal bars showing Bull % and Bear % (sum = 100%).
Per-FVG total volume label displayed at the right end of the gap’s body.
Mitigation source option : choose close or high/low for removing/invalidating gaps.
Overlap control : older overlapped gaps are cleaned to avoid clutter.
Auto-extension : active gaps extend right until mitigated.
Dashboard : shows count of bullish/bearish gaps on chart and cumulative volume totals for each side.
Performance safeguards : caps the number of active FVG boxes to maintain responsiveness.
🔵 HOW TO USE
Turn on/off FVG types : Enable Bullish FVG and/or Bearish FVG depending on your focus.
Tune the filter : The script already filters by relative size; if you need fewer (stronger) signals, increase the percentile threshold in code or reduce the number of displayed boxes.
Choose mitigation source :
close — stricter; gap is removed when a closing price crosses the boundary.
high/low — more sensitive; a wick through the boundary mitigates the gap.
Read the per-FVG bars :
A higher Bull % inside a bullish gap suggests constructive demand backing the imbalance.
A higher Bear % inside a bearish gap suggests supply is enforcing the imbalance.
Use total gap volume : Larger totals imply more meaningful interest at that imbalance; confluence with structure/HTF levels increases relevance.
Watch the dashboard : If bullish counts and cumulative volume exceed bearish, market pressure is likely skewed upward (and vice versa). Combine with trend tools or market structure for entries/exits.
Optional: hide volume bars : Disable Volume Bars when you want a cleaner FVG map while keeping total volume labels and the dashboard.
🔵 CONCLUSION
Volumatic Fair Value Gaps blends precise FVG detection with lower-timeframe volume analytics to show not only where imbalances exist but also who powers them. The per-gap Bull/Bear % bars, total volume labels, and the cumulative dashboard together provide a fast, high-signal read on directional participation. Use the tool to prioritize higher-quality gaps, align with trend bias, and time mitigations or continuations with greater confidence.
Volume 2.0Volume with standard deviations.
Helps to identify moderately high/low volume and very high/low volume.
Low volume indicates less market participation. High volume indicates higher market participation.
It forecasts potential changes of sentiment.
Volume with standard deviations (n=14).
Helps to identify moderately high/low volume and very high/low volume. Low volume indicates less market participation. High volume indicates higher market participation.
It forecasts potential changes of sentiment. This indicator has to be used with others. It is an adjunct tool, but a powerful one.
NB:
My previous version "Volume" violated the Pine Code house rules, so it got shielded from public view. This is my first experience with writing in Pine Code and publishing. I suspect it was because I didn't publish with a clean chart without other indicators added. My apologies in advance if version 2.0 is again another violation, which will then get shielded again. I am only publishing out of good will to share that's all.
Day Range Breakout Strategy + Trend Structure Filter🚀 Enhanced Strategy for Breaking Previous Day’s Extremes with Market Structure-Based Trend
The strategy focuses on breakouts of previous day’s highs and lows, filtered by trend direction based on market structure.
🔑 Key Improvements
1️⃣ Solved the repainting issue.
There are similar strategies in the community, but the historical results of those algorithms do not correspond to the results of real backtesting.
2️⃣ Added a trend filter.
In most cases, this makes it possible to achieve higher profitability. It works as follows:
The script determines market structure based on a defined number of previous candles.
If there are higher highs and higher lows, this is considered an uptrend structure.
If there are lower highs and lower lows, this is considered a downtrend structure.
The trend filter is adjusted using the Lookback Period setting.
3️⃣ Choice of entry principle.
Implemented the ability to choose whether trades are opened based on closing prices or by high/low breakout, which allows finding the optimal settings for a specific instrument.
4️⃣ Improved entry/exit logic.
When an opposite signal appears, before entering a trade, the script first closes the previous position.
✅ This makes the strategy fully ready for algorithmic trading via webhook on any exchange that supports this function.
5️⃣ Better visualization.
🟥 Red and 🟩 green backgrounds indicate the trend direction.
⚙️ How It Works
The principle of the strategy as follows:
Wait for the breakout of the previous day’s high or low.
Enter long on a breakout of the high, or short on a breakout of the low in the market structure trend direction.
Exit occurs on the breakout of the opposite extreme.
📈 This allows capturing long trends.
⚠️ But, like all similar strategies, in a sideways market it produces losing trades.
⚙️ Default Settings
Breakout Confirmation:
The breakout is determined by the candle close.
You can also choose high/low, but this often gives more false signals. However, on some assets, it may show higher profitability in backtesting.
Trend Structure Period:
The default value is 15.
This means the script analyzes the last 15 candles on the selected timeframe to determine market structure as described above.
Position Size:
Fixed at $1,000, which is 1% of the initial capital of $100,000 to keep risks under control.
Commission:
Set to 0.1%, which is sufficient for most cryptocurrency exchanges.
Slippage:
Configured at 1 tick.
Funding Note:
Keep in mind that funding is not included in this strategy.
It’s impossible to predict whether it will be positive or negative, and it can vary significantly across exchanges, so it is not part of the default settings.
🕒 Recommended Settings
Timeframe: 1H and higher
On lower timeframes → significant discrepancies may occur between historical and real backtesting data.
On higher timeframes → minor differences are possible, related to slippage, sharp moves, and other unpredictable situations.
⚠️ Important Notes
Always remember: Strategy results may not repeat in the future.
The market constantly changes, so:
✅ Monitor the situation
✅ Backtest regularly
✅ Adjust settings for each asset
Also remember about possible bugs in any algorithmic trading strategy.
Even if a script is well-tested, no one knows what unpredictable events the market may bring tomorrow.
⚠️ Risk Management:
Do not risk more than 1% of your deposit per trade, otherwise you may lose your account balance, since this strategy works without stop losses.
⚠️ Disclaimer
The author of the strategy does not encourage anyone to use this algorithm and bears no responsibility for any possible financial losses resulting from its application!
Any decision to use this strategy is made personally by the owners of TradingView accounts and cryptocurrency exchange accounts.
📝 Final Notes
This is not the final version. I already have ideas on how to improve it further, so follow me to not miss updates.
🐞 Bug Reports
If you notice any bugs or inconsistencies in my algorithm,
please let me know — I will try to fix them as quickly as possible.
💬 Feedback & Suggestions
If you have any ideas on how this or any of my other strategies can be improved, feel free to write to me. I will try to implement your suggestions in the script.
Wishing everyone good luck and stable profits! 🚀💰
Algo + Trendlines :: Medium PeriodThis indicator helps me to avoid overlooking Trendlines / Algolines. So far it doesn't search explicitly for Algolines (I don't consider volume at all), but it's definitely now already not horribly bad.
These are meant to be used on logarithmic charts btw! The lines would be displayed wrong on linear charts.
The biggest challenge is that there are some technical restrictions in TradingView, f. e. a script stops executing if a for-loop would take longer than 0.5 sec.
So in order to circumvent this and still be able to consider as many candles from the past as possible, I've created multiple versions for different purposes that I use like this:
Algo + Trendlines :: Medium Period : This script looks for "temporary highs / lows" (meaning the bar before and after has lower highs / lows) on the daily chart, connects them and shows the 5 ones that are the closest to the current price (=most relevant). This one is good to find trendlines more thoroughly, but only up to 4 years ago.
Algo + Trendlines :: Long Period : This version looks instead at the weekly charts for "temporary highs / lows" and finds out which days caused these highs / lows and connects them, Taking data from the weekly chart means fewer data points to check whether a trendline is broken, which allows to detect trendlines from up to 12 years ago! Therefore it misses some trendlines. Personally I prefer this one with "Only Confirmed" set to true to really show only the most relevant lines. This means at least 3 candle highs / lows touched the line. These are more likely stronger resistance / support lines compared to those that have been touched only twice.
Very important: sometimes you might see dotted lines that suddenly stop after a few months (after 100 bars to be precise). This indicates you need to zoom further out for TradingView to be able to load the full line. Unfortunately TradingView doesn't render lines if the starting point was too long ago, so this is my workaround. This is also the script's biggest advantage: showing you lines that you might have missed otherwise since the starting bars were outside of the screen, and required you to scroll f. e back to 2015..
One more thing to know:
Weak colored line = only 2 "collision" points with candle highs/lows (= not confirmed)
Usual colored line = 3+ "collision" points (= confirmed)
Make sure to move this indicator above the ticker in the Object Tree, so that it is drawn on top of the ticker's candles!
More infos: www.reddit.com
Algo + Trendlines :: Long PeriodThis indicator helps me to avoid overlooking Trendlines / Algolines. So far it doesn't search explicitly for Algolines (I don't consider volume at all), but it's definitely now already not horribly bad.
These are meant to be used on logarithmic charts btw! The lines would be displayed wrong on linear charts.
The biggest challenge is that there are some technical restrictions in TradingView, f. e. a script stops executing if a for-loop would take longer than 0.5 sec.
So in order to circumvent this and still be able to consider as many candles from the past as possible, I've created multiple versions for different purposes that I use like this:
Algo + Trendlines :: Medium Period : This script looks for "temporary highs / lows" (meaning the bar before and after has lower highs / lows) on the daily chart, connects them and shows the 5 ones that are the closest to the current price (=most relevant). This one is good to find trendlines more thoroughly, but only up to 4 years ago.
Algo + Trendlines :: Long Period : This version looks instead at the weekly charts for "temporary highs / lows" and finds out which days caused these highs / lows and connects them, Taking data from the weekly chart means fewer data points to check whether a trendline is broken, which allows to detect trendlines from up to 12 years ago! Therefore it misses some trendlines. Personally I prefer this one with "Only Confirmed" set to true to really show only the most relevant lines. This means at least 3 candle highs / lows touched the line. These are more likely stronger resistance / support lines compared to those that have been touched only twice.
Very important: sometimes you might see dotted lines that suddenly stop after a few months (after 100 bars to be precise). This indicates you need to zoom further out for TradingView to be able to load the full line. Unfortunately TradingView doesn't render lines if the starting point was too long ago, so this is my workaround. This is also the script's biggest advantage: showing you lines that you might have missed otherwise since the starting bars were outside of the screen, and required you to scroll f. e back to 2015..
One more thing to know:
Weak colored line = only 2 "collision" points with candle highs/lows (= not confirmed)
Usual colored line = 3+ "collision" points (= confirmed)
Make sure to move this indicator above the ticker in the Object Tree, so that it is drawn on top of the ticker's candles!
More infos: www.reddit.com
Fisher (zero-color + simple OB assist)//@version=5
indicator("Fisher (zero-color + simple OB assist)", overlay=false)
// Inputs
length = input.int(10, "Fisher Period", minval=1)
pivotLen = input.int(3, "Structure pivot length (SMC-lite)", minval=1)
showZero = input.bool(true, "Show Zero Line")
colPos = input.color(color.lime, "Color Above 0 (fallback)")
colNeg = input.color(color.red, "Color Below 0 (fallback)")
useOB = input.bool(true, "Color by OB proximity (Demand below = green, Supply above = red)")
showOBMarks = input.bool(true, "Show OB markers")
// Fisher (MT4-style port)
price = (high + low) / 2.0
hh = ta.highest(high, length)
ll = ta.lowest(low, length)
rng = hh - ll
norm = rng != 0 ? (price - ll) / rng : 0.5
var float v = 0.0
var float fish = 0.0
v := 0.33 * 2.0 * (norm - 0.5) + 0.67 * nz(v , 0)
v := math.min(math.max(v, -0.999), 0.999)
fish := 0.5 * math.log((1 + v) / (1 - v)) + 0.5 * nz(fish , 0)
// SMC-lite OB
ph = ta.pivothigh(high, pivotLen, pivotLen)
pl = ta.pivotlow(low, pivotLen, pivotLen)
var float lastSwingHigh = na
var float lastSwingLow = na
if not na(ph)
lastSwingHigh := ph
if not na(pl)
lastSwingLow := pl
bosUp = not na(lastSwingHigh) and close > lastSwingHigh
bosDn = not na(lastSwingLow) and close < lastSwingLow
bearishBar = close < open
bullishBar = close > open
demHigh_new = ta.valuewhen(bearishBar, high, 0)
demLow_new = ta.valuewhen(bearishBar, low, 0)
supHigh_new = ta.valuewhen(bullishBar, high, 0)
supLow_new = ta.valuewhen(bullishBar, low, 0)
// แยกประกาศตัวแปรทีละตัว และใช้ชนิดให้ชัดเจน
var float demHigh = na
var float demLow = na
var float supHigh = na
var float supLow = na
var bool demActive = false
var bool supActive = false
if bosUp and not na(demHigh_new) and not na(demLow_new)
demHigh := demHigh_new
demLow := demLow_new
demActive := true
if bosDn and not na(supHigh_new) and not na(supLow_new)
supHigh := supHigh_new
supLow := supLow_new
supActive := true
// Mitigation (แตะโซน)
if demActive and not na(demHigh) and not na(demLow)
if low <= demHigh
demActive := false
if supActive and not na(supHigh) and not na(supLow)
if high >= supLow
supActive := false
demandBelow = useOB and demActive and not na(demHigh) and demHigh <= close
supplyAbove = useOB and supActive and not na(supLow) and supLow >= close
colDimUp = color.new(colPos, 40)
colDimDown = color.new(colNeg, 40)
barColor = demandBelow ? colPos : supplyAbove ? colNeg : fish > 0 ? colDimUp : colDimDown
// Plots
plot(0, title="Zero", color=showZero ? color.new(color.gray, 70) : color.new(color.gray, 100))
plot(fish, title="Fisher", style=plot.style_columns, color=barColor, linewidth=2)
plotchar(showOBMarks and demandBelow ? fish : na, title="Demand below", char="D", location=location.absolute, color=color.teal, size=size.tiny)
plotchar(showOBMarks and supplyAbove ? fish : na, title="Supply above", char="S", location=location.absolute, color=color.fuchsia, size=size.tiny)
alertcondition(ta.crossover(fish, 0.0), "Fisher Cross Up", "Fisher crosses above 0")
alertcondition(ta.crossunder(fish, 0.0), "Fisher Cross Down", "Fisher crosses below 0")
Cnagda Liquidit Trading SystemCnagda Liquidit Trading System helps spot where price is likely to trap traders and reverse, then gives simple, actionable Level to entry, place SL, and take profits with confidence. It blends imbalance zones, trend bias, order blocks, liquidity pools, high-probability fake Signal, and context-aware candle patterns into one clean workflow.
🟩🟥 Imbalance boxes: “Crowd rushed, gaps left”
What it is: Green/red boxes mark fast, one-sided moves where price “skipped” orders—think FVG-like zones that often get revisited.
Why it helps: Price frequently pulls back to “fill” these zones, creating clean retest entries with logical stops.
⏩How to use:
Green box = potential demand retest; Red box = potential supply retest. Enter on pullback into box, not on first impulse. Put stop on far side of box and aim first targets at recent swing points.
↕️ Swing bias (HH/HL vs LH/LL): “Which way is the road?”
What it is: Higher-highs/higher-lows = up-bias; Lower-highs/lower-lows = down-bias. system plots Buy/Sell OB levels aligned with that bias.
Why it helps: Trading with the broader flow reduces “hero trades” against institutions. Bias gives clearer entries and cleaner drawdowns.
⏩How to use:
Up-bias: look for long on Buy OB retests. Down-bias: look for short on Sell OB retests. Wait for a small rejection/engulfing to confirm before triggering.
🧱Order blocks: “Where big players remember”
What it is: last opposite-colored candle before an impulsive move—these zones often hold memory and reaction. system plots these as Buy/Sell OB lines.
Why it helps: Many breakouts pull back to the origin. Good entries often happen on retest, not on the breakout chase.
⏩ How to use:
Let price return into the OB, show wick rejection, and decent volume. Enter with stop beyond OB; define risk-reward before entry.
📊Volume coloring: “How Volume is move?”
What it is: Bar color reflects relative volume; inside bars are black. The dashboard also shows Volume and “Volume vs Prev.”
Why it helps: Patterns without volume often fade; volume validates strength and intent of moves.
⏩ How to use:
Favor entries where imbalance/OB/liquidity-grab coincide with higher volume. If volume is weak, reduce size or skip.
🧲 BSL/SSL liquidity pools: “Fishing for stops”
What it is: Equal highs cluster stops above (BSL); equal lows cluster stops below (SSL). system plots these and highlights the nearest one (“magnet”).
Why it helps: Price often sweeps these pools to trigger stops before reversing. This is a prime trap-reversal location.
⏩ How to use:
Watch nearest BSL/SSL. If price wicks through and closes back inside, anticipate a reversal. Trade reaction, not first poke. When price closes beyond, consider that pool mitigated and move on.
🟢🔴 Advanced liquidity grab: “Catch fakeout”
What it is: Bullish grab = makes a new low beyond a prior low but closes back above it, with a long lower wick, small body, and higher volume. Bearish is mirror. Labeled automatically.
Why it helps: It exposes trap moves (stop hunts) and often precedes true direction.
⏩ How to use:
Best when it aligns with a nearby imbalance/OB and supportive volume. Enter on reversal candle break or on retest. Stop goes beyond sweep wick.
🧠 Smart candlestick patterns (only in right place)
What it is: Engulfing, Hammer, Shooting Star, Hanging Man, Doji (with high volume), Morning/Evening Star, Piercing—but marked “effective” only if context (swing/trend/location) agrees.
Why it helps: same pattern in the wrong place is noise; in the right place, it’s signal.
⏩ How to use:
Location first (BSL/SSL/OB/imbalance), then pattern. Treat pattern as trigger/confirmation—one fresh label shows to keep chart clean.
🧭 Dashboard: “Context in a glance”
⏩ Reversal Level: current swing anchor—expect turns or reactions nearby; great for alerts and planning.
⏩ Volume vs Prev + Volume: Strength meter for signal candle—higher adds conviction.
⏩ Nearest Pool: next “magnet” area—look for sweeps/rejections there.
🧩Step-by-step trading flow (with mindset)
⏩ Set bias: HH/HL = long bias, LH/LL = short bias. Counter-trend only on clean sweeps with strong confirmation.
⏩ Find magnet: Check Nearest Pool (BSL/SSL). Focus attention there; it saves screen time.
⏩ Wait for event: Look for a sweep/grab label, or sharp rejection at pool/OB/imbalance. Avoid FOMO.
⏩ Add confluence: Stack 2–3 of these—imbalance box, OB, contextual pattern, supportive volume.
⏩Plan entry: Bullish: trigger above reversal candle high or take retest of FVG/OB. Stop below sweep wick/zone. Target at least 1:1.5–1:2.
Bearish: mirror above.
⏩Manage smartly: Take partials, move to breakeven or trail thoughtfully. Don’t drag stops inside zone out of emotion.
🎛️ Parameter tuning (to reduce human error)
⏩ swingLen: Smaller = faster but noisier; larger = cleaner but slower. Backtest first, then go live.
⏩ Tolerance (ATR or percent): ATR tolerance adapts to volatility (good for fast markets and lower TFs). Start around 0.15–0.30. In calm markets, try percent 0.05–0.15%.
⏩ minBarsGap: Start with 3–5 so equal highs/lows are truly equal—reduces false pools.
❌Common mistakes → ✅ Better habits
⏩Chasing every breakout → Wait for sweep/rejection, then confirm.
⏩Ignoring volume → Validate strength; cut size or skip on weak volume.
⏩Losing history of pools → If reviewing/backtesting, keep mitigated pools visible (dashed/faded).
⏩Over-tight tolerance/too small swingLen → Increases false signals; backtest to find balance.
📝 checklist (before entry)
⏩ Is there a nearby BSL/SSL and did a sweep/grab happen there?
⏩ Is there a close imbalance/OB that price can retest?
⏩ Do we have an effective pattern plus supportive volume?
⏩Is the stop beyond the wick/zone and RR ≥ 1:1.5?
•?((¯°·._.• 🎀 𝐻𝒶𝓅𝓅𝓎 𝒯𝓇𝒶𝒹𝒾𝓃𝑔 🎀 •._.·°¯((?•
Daily HOD / LOD Anchored VWAP (24/7 Markets)mart Daily HOD/LOD Anchored VWAP (Auto Detect + Alerts)
This indicator automatically anchors VWAP at the High of Day (HOD) and Low of Day (LOD) for each session/day.
No more manual anchoring — the script tracks intraday highs and lows in real-time and resets cleanly at the start of each trading day or session.
✨ Features
✅ Auto-anchored AVWAP at daily High and Low
✅ Works for stock markets (with fixed sessions) and crypto markets (24/7)
✅ Clean reset every session/day
✅ Separate AVWAP lines for HOD and LOD
✅ Customizable colors & line widths
✅ Alerts included 🚨 (get notified instantly when a new High/Low AVWAP starts)
📈 Use Cases
Spot true intraday support/resistance levels
Track where institutions may be defending positions
Combine with price action, orderflow, or volume profile strategies
Perfect for intraday trading, scalping, and swing entries
⚡ Alerts
New HOD AVWAP → Fires when price makes a fresh high of day, starting a new anchored VWAP.
New LOD AVWAP → Fires when price makes a fresh low of day, starting a new anchored VWAP.
🛠️ Settings
Show/hide HOD or LOD VWAP
Customize line colors and thickness
Works seamlessly across stocks, futures, forex, and crypto
💡 Pro Tip:
AVWAP from the high and low of the day often acts as a magnet for price. Watch how price reacts when revisiting these levels — confluence with other indicators = high-probability setups.
⚠️ Disclaimer:
This script is for educational purposes only. It is not financial advice. Always manage your own risk.
ZV-Resources by ZuperView.comLibrary "zuperview"
ComputeMAValue(maType, series, period)
ComputeMAValue
@description Computes the moving average (MA) value based on the specified MA type.
Parameters:
maType (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
series (float) : (float) The input price series (typically close).
period (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed MA value or `na` if maType is invalid.
ComputeATRValue(period)
ComputeATRValue
@description Computes the moving average (ATR) value based on the specified ATR type.
Parameters:
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed ATR value or `na` if maType is invalid.
Max(src, period)
Parameters:
src (float)
period (int)
Min(src, period)
Parameters:
src (float)
period (int)
ComputeRSIValue(src, period, smooth)
ComputeRSIValue
@description Computes the moving average (RSI) value based on the specified RSI type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
smooth (int)
Returns: (float) The computed RSI value or `na` if maType is invalid.
ComputeSMMAValue(src, period)
ComputeSMMAValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed SMMA value or `na` if maType is invalid.
ComputeStochasticValue(src, periodD, periodK, smoothingMethod, smoothingPeriod)
ComputeStochasticValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
periodD (simple int) : (int) The number of periods used for MA calculation.
periodK (int) : (int) The number of periods used for MA calculation.
smoothingMethod (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
smoothingPeriod (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed Stochastic(K, D) value or `na` if maType is invalid.
zuperviewResourcesLibrary "zuperview"
ComputeMAValue(maType, series, period)
ComputeMAValue
@description Computes the moving average (MA) value based on the specified MA type.
Parameters:
maType (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
series (float) : (float) The input price series (typically close).
period (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed MA value or `na` if maType is invalid.
ComputeATRValue(period)
ComputeATRValue
@description Computes the moving average (ATR) value based on the specified ATR type.
Parameters:
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed ATR value or `na` if maType is invalid.
Max(src, period)
Parameters:
src (float)
period (int)
Min(src, period)
Parameters:
src (float)
period (int)
ComputeRSIValue(src, period, smooth)
ComputeRSIValue
@description Computes the moving average (RSI) value based on the specified RSI type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
smooth (int)
Returns: (float) The computed RSI value or `na` if maType is invalid.
ComputeSMMAValue(src, period)
ComputeSMMAValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
period (int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed SMMA value or `na` if maType is invalid.
ComputeStochasticValue(src, periodD, periodK, smoothingMethod, smoothingPeriod)
ComputeStochasticValue
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
src (float) : (series) Input series (series float), which can be close (`close`), open (`open`), high (`high`), low (`low`), or any other price-based series.
periodD (simple int) : (int) The number of periods used for MA calculation.
periodK (int) : (int) The number of periods used for MA calculation.
smoothingMethod (string) : (string) The type of moving average: "EMA", "SMA", "RMA", "WMA", "HMA", "VWMA", "LinReg".
smoothingPeriod (simple int) : (int) The number of periods used for MA calculation.
Returns: (float) The computed Stochastic(K, D) value or `na` if maType is invalid.
FindSwingsByNeighborhood(arraySwingTop, arraySwingBottom, neighborhood)
Find Swings By Neighborhood
@description Computes the moving average (SMMA) value based on the specified SMMA type.
Parameters:
arraySwingTop (array) : (array): An array to store detected swing highs.
arraySwingBottom (array) : (array): An array to store detected swing lows.
neighborhood (int) : (int): The number of bars to consider when identifying a swing point.
Returns: none
FindSwingsByOffset(arraySwingTop, arraySwingBottom, minSwingLength)
Find Swings By Offset
@description Identifies swing points based on a minimum swing length criteria.
Parameters:
arraySwingTop (array) : (array): An array to store detected swing highs.
arraySwingBottom (array) : (array): An array to store detected swing lows.
minSwingLength (float) : (float): The minimum price movement required to qualify as a swing point.
Returns: none
SwingPoint
Fields:
Key (series int)
IsTop (series bool)
Price (series float)
BarStart (series int)
BarEnd (series int)
TimeStart (series int)
TimeEnd (series int)
Sign (series int)
Label (series label)
Pure Price Zone Flow🔎 What this indicator is
It’s a price-action-based zone indicator. Unlike moving average systems, this one relies only on:
1. Swing Highs & Swing Lows → The highest and lowest points within a recent lookback period (like "mini support & resistance").
2. ATR (Average True Range) → A volatility measure that expands the zone, making it more adaptive to different market conditions.
3. Breakouts & Retests → When price breaks above a swing high (bullish) or below a swing low (bearish), the indicator marks it and highlights the new trend.
👉 The goal is to spot clean structure shifts and define clear trend zones where traders can position themselves.
________________________________________
⚙️ How it is calculated
1. Swing High & Swing Low
o We look back len candles (default 20).
o Find the highest high (swingHigh) and the lowest low (swingLow) in that window.
o This forms the price range zone.
2. ATR Expansion
o We calculate ATR over the same len.
o Add/subtract it (multiplied by atrMult) to the zone edges to expand them.
o This ensures the zones breathe with volatility (tight in quiet markets, wide in choppy ones).
3. Mid-Zone
o Simply the average of swingHigh and swingLow.
o If price is above mid → bullish bias.
o If below mid → bearish bias.
o This gives us the trend color for candles.
4. Breakouts
o If the close crosses above swingHigh, we mark a bullish breakout with a label.
o If the close crosses below swingLow, we mark a bearish breakdown.
________________________________________
📊 How it helps traders
This indicator helps by:
1. Identifying Structure Shifts
o Many traders watch swing highs/lows for breakouts or reversals.
o This automates the process and visually confirms when structure is broken.
2. Dynamic Zone Trading
o Instead of fixed support/resistance, the ATR expansion adapts to volatility.
o This avoids false signals in high-volatility conditions.
3. Trend Bias at a Glance
o Candle coloring instantly tells you whether price is in bullish or bearish territory relative to the mid-zone.
4. Breakout Confirmation
o The labels show when a breakout has occurred, so traders can react quickly (e.g., enter with trend, wait for retest, or avoid fading moves).
________________________________________
🌍 Markets it works best in
• Crypto (Bitcoin, Ethereum, etc.): Very effective since crypto is breakout-driven and respects swing levels.
• Forex: Good for volatility-adaptive structure analysis, especially in trending pairs.
• Indices (SPX, NASDAQ, DAX, NIFTY): Useful for breakout trading during session opens or key news events.
• Commodities (Gold, Oil, Silver): Works well to define intraday ranges and breakout levels.
⚠️ Less useful in low-volatility, mean-reverting assets (like some penny stocks or sideways ranges), because breakouts may be rare or fake.
________________________________________
💡 How it adds value
• Strips away unnecessary complexity (no lagging averages).
• Focuses directly on what price is doing structurally.
• Adaptive → works across different markets & timeframes.
• Easy visualization → zones, trend coloring, breakout markers.
• Helps traders trade with the flow of the market, instead of guessing tops/bottoms.
________________________________________
👉 In short:
This indicator turns raw price action into clear, actionable zones.
It highlights when the market shifts from balance to breakout, so traders can align with momentum rather than fighting it.
BecakFloatingPanelsLibrary "BecakFloatingPanels"
Library for creating floating indicator panels with MACD, RSI, and Stochastic indicators
calculateMacd(source, fastLength, slowLength, signalLength)
Calculate MACD components
Parameters:
source (float) : Price source for calculation
fastLength (simple int) : Fast EMA period
slowLength (simple int) : Slow EMA period
signalLength (simple int) : Signal line period
Returns: MacdData MACD calculation results
calculateRsi(source, length)
Calculate RSI
Parameters:
source (float) : Price source for calculation
length (simple int) : RSI period
Returns: float RSI value
calculateStochastic(source, high, low, kLength, kSmoothing, dSmoothing)
Calculate Stochastic components
Parameters:
source (float) : Price source for calculation
high (float) : High prices
low (float) : Low prices
kLength (int) : %K period
kSmoothing (int) : %K smoothing period
dSmoothing (int) : %D smoothing period
Returns: StochData Stochastic calculation results
calculateStochSignals(stochK, stochD, overboughtLevel, oversoldLevel)
Calculate Stochastic signals
Parameters:
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
overboughtLevel (float) : Overbought threshold
oversoldLevel (float) : Oversold threshold
Returns: StochSignals Signal flags
calculateChartMetrics(high, low, lookbackLength)
Calculate chart range and positioning metrics
Parameters:
high (float) : High prices
low (float) : Low prices
lookbackLength (int) : Lookback period
Returns: ChartMetrics Chart positioning data
calculateMacdRange(macdLine, signalLine, histogram, safeLookback)
Calculate MACD range for normalization
Parameters:
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
safeLookback (int) : Lookback period
Returns: MacdRange MACD range metrics
initVisualArrays()
Initialize visual arrays
Returns: VisualArrays Container with initialized arrays
clearVisuals(visuals)
Clear all visual elements
Parameters:
visuals (VisualArrays) : VisualArrays container
Returns: void
calculatePanelPositions(chartMetrics, oscPlacement, panelHeight, panelSpacing, centerOffset)
Calculate panel positions based on placement option
Parameters:
chartMetrics (ChartMetrics) : Chart metrics object
oscPlacement (string) : Panel placement option
panelHeight (float) : Panel height percentage
panelSpacing (float) : Panel spacing percentage
centerOffset (float) : Center offset percentage
Returns: PanelPositions Panel boundary coordinates
createPanelBackgrounds(visuals, positions, panelLeft, panelRight, showBackground, transparency)
Create panel backgrounds
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
panelLeft (int) : Left boundary
panelRight (int) : Right boundary
showBackground (bool) : Show background flag
transparency (int) : Background transparency
Returns: void
drawReferenceLines(visuals, positions, chartMetrics, macdRange, dataLeft, dataRight, panelHeight, rsiOverbought, rsiOversold, stochOverbought, stochOversold)
Draw reference lines for all panels
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
macdRange (MacdRange) : MacdRange object
dataLeft (int) : Left data boundary
dataRight (int) : Right data boundary
panelHeight (float) : Panel height percentage
rsiOverbought (int) : RSI overbought level
rsiOversold (int) : RSI oversold level
stochOverbought (int) : Stochastic overbought level
stochOversold (int) : Stochastic oversold level
Returns: void
drawMacdIndicator(visuals, macdLine, signalLine, histogram, macdRange, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw MACD indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
macdRange (MacdRange) : MacdRange object
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawRsiIndicator(visuals, rsiValue, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw RSI indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
rsiValue (float) : RSI value
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawStochasticIndicator(visuals, stochK, stochD, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight, stochOverbought, stochOversold)
Draw Stochastic indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
stochOverbought (int) : Overbought level
stochOversold (int) : Oversold level
Returns: void
addStochasticSignals(visuals, buySignal, sellSignal, positions, chartMetrics, currentBarIndex, barIndexOffset, panelHeight, signalIndex)
Add Stochastic buy/sell signals
Parameters:
visuals (VisualArrays) : VisualArrays container
buySignal (bool) : Buy signal series
sellSignal (bool) : Sell signal series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
currentBarIndex (int) : Current bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
signalIndex (int) : Signal index for lookback
Returns: void
setPanelLabels(macdLabel, rsiLabel, stochLabel, positions, chartMetrics, labelOffset, panelHeight, barIndexOffset)
Set panel title labels
Parameters:
macdLabel (label) : MACD label reference
rsiLabel (label) : RSI label reference
stochLabel (label) : Stochastic label reference
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
labelOffset (int) : Label horizontal offset
panelHeight (float) : Panel height percentage
barIndexOffset (int) : Horizontal offset
Returns: void
showDebugInfo(chartMetrics, debugMode)
Display debug information
Parameters:
chartMetrics (ChartMetrics) : ChartMetrics object
debugMode (bool) : Debug mode flag
Returns: void
ChartMetrics
Chart metrics container
Fields:
visibleHigh (series float) : Highest visible price
visibleLow (series float) : Lowest visible price
chartRange (series float) : Price range of chart
chartCenter (series float) : Center point of chart
MacdData
MACD calculation results
Fields:
macdLine (series float) : Main MACD line
signalLine (series float) : Signal line
histogram (series float) : MACD histogram
MacdRange
MACD range metrics for normalization
Fields:
highest (series float) : Highest MACD value
lowest (series float) : Lowest MACD value
BRange (series float) : Total range
StochData
Stochastic calculation results
Fields:
k_smooth (series float) : Smoothed %K line
d (series float) : %D line
StochSignals
Stochastic signals
Fields:
buySignal (series bool) : Buy signal flag
sellSignal (series bool) : Sell signal flag
PanelPositions
Panel positioning data
Fields:
macdTop (series float) : MACD panel top
macdBottom (series float) : MACD panel bottom
rsiTop (series float) : RSI panel top
rsiBottom (series float) : RSI panel bottom
stochTop (series float) : Stochastic panel top
stochBottom (series float) : Stochastic panel bottom
VisualArrays
Visual elements arrays container
Fields:
macdLines (array) : Array of MACD lines
macdHist (array) : Array of MACD histogram boxes
rsiLines (array) : Array of RSI lines
stochLines (array) : Array of Stochastic lines
stochAreas (array) : Array of Stochastic areas
stochSignals (array) : Array of Stochastic signals
panelBackgrounds (array) : Array of panel backgrounds
Multi-Band Trend LineThis Pine Script creates a versatile technical indicator called "Multi-Band Trend Line" that builds upon the concept of the popular "Follow Line Indicator" by Dreadblitz. While the original Follow Line Indicator uses simple trend detection to place a line at High or Low levels, this enhanced version combines multiple band-based trading strategies with dynamic trend line generation. The indicator supports five different band types and provides more sophisticated buy/sell signals based on price breakouts from various technical analysis bands.
Key Features
Multi-Band Support
The indicator supports five different band types:
- Bollinger Bands: Uses standard deviation to create bands around a moving average
- Keltner Channels: Uses ATR (Average True Range) to create bands around a moving average
- Donchian Channels: Uses the highest high and lowest low over a specified period
- Moving Average Envelopes: Creates bands as a percentage above and below a moving average
- ATR Bands: Uses ATR multiplier to create bands around a moving average
Dynamic Trend Line Generation (Enhanced Follow Line Concept)
- Similar to the Follow Line Indicator, the trend line is placed at High or Low levels based on trend direction
- Key Enhancement: Instead of simple trend detection, this version uses band breakouts to trigger trend changes
- When price breaks above the upper band (bullish signal), the trend line is set to the low (optionally adjusted with ATR) - similar to Follow Line's low placement
- When price breaks below the lower band (bearish signal), the trend line is set to the high (optionally adjusted with ATR) - similar to Follow Line's high placement
- The trend line acts as dynamic support/resistance, following the price action more precisely than the original Follow Line
ATR Filter (Follow Line Enhancement)
- Like the original Follow Line Indicator, an ATR filter can be selected to place the line at a more distance level than the normal mode settled at candles Highs/Lows
- When enabled, it adds/subtracts ATR value to provide more conservative trend line placement
- Helps reduce false signals in volatile markets
- This feature maintains the core philosophy of the Follow Line while adding more precision through band-based triggers
Signal Generation
- Buy Signal: Generated when trend changes from bearish to bullish (trend line starts rising)
- Sell Signal: Generated when trend changes from bullish to bearish (trend line starts falling)
- Signals are displayed as labels on the chart
Visual Elements
- Upper and lower bands are plotted in gray
- Trend line changes color based on direction (green for bullish, red for bearish)
- Background color changes based on trend direction
- Buy/sell signals are marked with labeled shapes
How It Works
Band Calculation: Based on the selected band type, upper and lower boundaries are calculated
Signal Detection: When price closes above the upper band or below the lower band, a breakout signal is generated
Trend Line Update: The trend line is updated based on the breakout direction and previous trend line value
Trend Direction: Determined by comparing current trend line with the previous value
Alert Generation: Buy/sell conditions trigger alerts and visual signals
Use Cases
Enhanced trend following strategies: More precise than basic Follow Line due to band-based triggers
Breakout trading: Multiple band types provide various breakout opportunities
Dynamic support/resistance identification: Combines Follow Line concept with band analysis
Multi-timeframe analysis with different band types: Choose the most suitable band for your timeframe
Reduced false signals: Band confirmation provides better entry/exit points compared to simple trend following
ORB & Sessions [Capitalize Labs]ORB & Sessions Indicator
The ORB & Sessions Indicator provides a structured way to analyze intraday price action by combining two well-established concepts: global trading sessions and Opening Range Breakouts (ORB). It is designed to help traders identify where liquidity forms, when volatility expands, and how price behaves around key session and range levels.
Market Sessions Framework
Displays New York, London, and Asian sessions directly on the chart.
Each session can be shown as a highlighted background zone, or with extended highs and lows for liquidity tracking.
Session highs and lows remain projected forward after the session ends, allowing traders to monitor sweeps, retests, and reactions throughout the day.
Session times are fully customizable and can be aligned with the trader’s own timezone or broker feed.
This structure helps traders place price action into context, whether during quiet Asian trading, London-driven volatility, or New York reversals.
Opening Range Breakouts (ORB)
Supports three independent ORBs, each with configurable session times.
During the defined ORB window, the indicator captures the high and low of the range and plots a live updating box.
Once the ORB closes, the range locks and projects breakout targets (T1 and T2) based on user-defined risk-to-reward multiples.
Alerts are included for breakouts of highs, lows, or target levels.
Traders can use a single ORB or multiple—for example, tracking an Asian ORB into London, or London into New York.
Visualization and Clarity
Color-coded boxes and levels for sessions and ORBs.
Labels such as “Range High” and “Range Low” ensure clarity without clutter.
Flexible display settings allow highlighting full zones, just lines, or minimal markers depending on preference.
Practical Applications
This indicator is useful for:
Liquidity and volatility analysis: Observe where session highs and lows form and how they influence later trading.
Breakout and reversal strategies: Use ORB ranges to define risk and plan target projections.
Time-based research: Explore how different session overlaps or ORBs affect markets like indices, FX, and commodities.
Risk planning: Built-in R-multiple targets provide a consistent framework for evaluating setups.
Why It’s Different
Instead of showing sessions and ORBs separately, this indicator integrates them into one framework. Traders can:
See when and where sessions open and establish range levels.
Define precise ORBs with customizable timing.
Track breakout levels and targets in real time with alerts.
The result is a clear, time-structured view of the trading day, helping traders align setups with session dynamics and opening range behavior.
This indicator does not generate buy or sell signals. It is an analytical and visualization tool, providing structure for traders to better interpret intraday price action.
Trishul Tap Signals (v6) — Liquidity Sweep + Imbalanced RetestTrishul Tap Signals — Liquidity Sweep + Imbalanced Retest
Type: Signal-only indicator (non-repainting)
Style: Price-action + Liquidity + Trend-following
Best for: Intraday & Swing Trading — any liquid market (stocks, futures, crypto, FX)
Timeframes: Any (5m–1D recommended)
Concept
The Trishul Tap setup is a liquidity-driven retest play inspired by order-flow and Smart Money Concepts.
It identifies one-sided impulse candles that also sweep liquidity (grab stops above/below a recent swing), then waits for price to retest the origin of that candle to enter in the trend direction.
Think of it as the three points of a trident:
Trend filter — Only signals with the prevailing trend.
Liquidity sweep — Candle takes out a recent swing high/low (stop-hunt).
Imbalanced retest — Price taps the candle’s open/low (bull) or open/high (bear).
Bullish Setup
Trend Filter: Price above EMA(200).
Impulse Candle:
Green close.
Upper wick ≥ (wickRatio × lower wick).
Lower wick ≤ (oppWickMaxFrac × full range).
Liquidity Sweep: Candle’s high exceeds the highest high of the last sweepLookback bars (excluding current).
Tap Entry: Buy signal triggers when price later taps the candle’s low or open (user choice) within expireBars.
Bearish Setup
Trend Filter: Price below EMA(200).
Impulse Candle:
Red close.
Lower wick ≥ (wickRatio × upper wick).
Upper wick ≤ (oppWickMaxFrac × full range).
Liquidity Sweep: Candle’s low breaks the lowest low of the last sweepLookback bars (excluding current).
Tap Entry: Sell signal triggers when price later taps the candle’s high or open (user choice) within expireBars.
Inputs
Trend EMA Length: Default 200.
Sweep Lookback: Number of bars for liquidity sweep check (default 20).
Wick Ratio: Required size ratio of dominant wick to opposite wick (default 2.0).
Opposite Wick Max %: Opposite wick must be ≤ this fraction of the candle’s range (default 25%).
Tap Tolerance (ticks): How close price must come to the level to count as a tap.
Expire Bars: Max bars after setup to allow a valid tap.
One Signal per Level: If ON, a base is “consumed” after first signal.
Plot Tap Levels: Show horizontal lines for active bases.
Show Setup Labels: Mark the origin sweep candle.
Plots & Visuals
EMA Trend Line — trend filter reference.
Tap Levels —
Green = bullish base (origin candle’s low/open).
Red = bearish base (origin candle’s high/open).
Labels — Show where the setup candle formed.
Signals —
BUY: triangle-up below bar at bullish tap.
SELL: triangle-down above bar at bearish tap.
Alerts
Two built-in conditions:
BUY Signal (Trishul Tap) — triggers on bullish tap.
SELL Signal (Trishul Tap) — triggers on bearish tap.
Set via Alerts panel → Condition = this indicator → Choose signal type.
How to Trade It
Use in liquid markets with clean price structure.
Confirm with HTF structure, volume spikes, or other confluence if desired.
Place stop just beyond the tap level (or ATR-based).
Target 1–2R or trail behind structure.
Why It Works
Liquidity sweep traps traders entering late (breakout buyers or panic sellers) and forces them to exit in the opposite direction, fueling your entry.
Wick imbalance confirms directional aggression by one side.
Trend filter keeps you aligned with the market’s dominant flow.
Retest entry lets you enter at a better price with reduced risk.
Non-Repainting
Setups form only on confirmed bar closes.
Signals trigger only on later bars that tap the stored level.
No lookahead functions are used.
Disclaimer
This script is for educational purposes only and does not constitute financial advice. Test thoroughly in a simulator or demo before using in live markets. Trading involves risk.
Engulfing Pattern[SpeculationLab]Overview
This script detects two types of engulfing / outer bar patterns and marks them directly on the chart:
Body Engulfing – The current candle’s body range (open–close) completely covers the entire range (high–low) of the previous candle.
Range Engulfing – The current candle’s full range (high–low, including wicks) completely covers the entire range (high–low) of the previous candle.
Direction logic:
Bull – The previous candle is bearish and the selected engulfing rule is met.
Bear – The previous candle is bullish and the selected engulfing rule is met.
Optional: Require the current candle to have the opposite color of the previous one.
This is an open-source pattern recognition tool for learning, backtesting, and chart review. It is not financial advice.
Key Features
Two detection modes:
body – Body engulfs previous entire range
range – Wicks engulf previous entire range
Direction detection based on the previous candle’s color, with optional opposite-color confirmation
Chart markers: “BULL” /“BEAR” above bars
Alert-ready: built-in conditions for bullish and bearish engulfing patterns
Parameters
Engulfing Type: body / range
body: Current body must fully cover the previous candle’s high–low range
range: Current full range (high–low) must fully cover the previous candle’s high–low range
Require Opposite Previous Candle (default: off):
When enabled, the engulfing pattern must also have the opposite color from the previous candle to trigger
Usage Tips
Engulfing patterns are price action structures; combine with trend, key levels, and volume for context
Signals confirm on bar close (barstate.isconfirmed) to reduce repainting
Can be used with personal risk management rules (stop-loss, take-profit, filters)
Disclaimer
For educational and research purposes only – not financial advice
Past performance of patterns does not guarantee future results
Trading involves risk; always manage it responsibly
This script is open-source – feel free to learn from or modify it, but credit the original source and author (SpeculationLab)
脚本简介
本脚本用于识别两类包裹/外包形态,并在图表上以标记提示:
Body(实体包裹):当前K线的实体区间(开—收)完全覆盖上一根K线的整个区间(上一根的高—低)。
Range(影线外包):当前K线的影线区间(高—低)完全覆盖上一根K线的整个区间(上一根的高—低)。
方向判定:
Bull(多):上一根为阴线且满足所选包裹规则;
Bear(空):上一根为阳线且满足所选包裹规则;
可选项:要求“当前K线颜色与上一根相反”后再确认(见参数)。
本脚本为开源形态识别工具,适合技术分析学习、回测与复盘,不构成任何投资建议。
主要功能
两种识别模式:body(实体包裹上一根整段) / range(影线包裹上一根整段)。
方向识别:按上一根K线颜色判断多空;可选“当前颜色与上一根相反”的二次确认。
图表提示:plotshape 在K线上方标注 “BULL / BEAR”。
提醒支持:内置 Bullish Engulf / Bearish Engulf 提醒条件。
参数说明
Engulfing Type:body / range
body:当前实体须完全覆盖上一根的高—低整段;
range:当前高—低须完全覆盖上一根的高—低整段。
Require Opposite Previous Candle(默认关闭):
开启后,除满足包裹规则外,还需当前K线颜色与上一根相反才触发标记。
使用建议
包裹/外包是价格行为结构,建议结合趋势、关键价位、成交量等因素综合判断。
信号在收盘时确认(barstate.isconfirmed),以减少重绘干扰。
可与个人风格的风险控制规则(止损、止盈、过滤条件)配合使用。
合规与免责声明
本脚本仅用于技术研究与学习,不构成任何形式的投资建议或收益承诺。
历史形态并不代表未来结果,交易有风险,请自行评估并承担责任。
本脚本开源,欢迎学习与二次开发;转载或改用请注明来源与作者(SpeculationLab / 投机实验室)。